package com.ruoyi.sign.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * sign对象 sign
 * 
 * @author ruoyi
 * @date 2025-05-22
 */
public class Sign extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long signId;

    /** 关联课节 */
    @Excel(name = "关联课节")
    private Long classId;

    /** 签到码 */
    @Excel(name = "签到码")
    private String signCode;

    /** 签到开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签到开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 签到截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签到截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 签到持续时长（分钟） */
    @Excel(name = "签到持续时长", readConverterExp = "分=钟")
    private Long duration;

    /** 签到次数 */
    @Excel(name = "签到次数")
    private Long signOrder;

    public void setSignId(Long signId) 
    {
        this.signId = signId;
    }

    public Long getSignId() 
    {
        return signId;
    }

    public void setClassId(Long classId) 
    {
        this.classId = classId;
    }

    public Long getClassId() 
    {
        return classId;
    }

    public void setSignCode(String signCode) 
    {
        this.signCode = signCode;
    }

    public String getSignCode() 
    {
        return signCode;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }

    public void setSignOrder(Long signOrder) 
    {
        this.signOrder = signOrder;
    }

    public Long getSignOrder() 
    {
        return signOrder;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("signId", getSignId())
            .append("classId", getClassId())
            .append("signCode", getSignCode())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("duration", getDuration())
            .append("signOrder", getSignOrder())
            .toString();
    }
}
